הטכניון - מכון טכנולוגי לישראל המחלקה להוראת הטכנולוגיה והמדעים "קשר-חם" : לקידום שיפור וריענון החינוך המתמטי הנושא: פתרון בעיות באמצעות שיטת הנסיגה הוכן ע"י: תמר זמיר תקציר: בחומר מוגדר המושג רקורסיה (נסיגה), מובאים משפטים הקשורים למעבר מצורה רקורסיבית לצורה מפורשת והוכחתם. כמו כן מובא, לכל משפט, אוסף של דוגמאות מתחומים שונים. מילות מפתח: אלגברה, רקרוסיה, נסיגה, סדרות, סדרה לינארית, סדרה כללית, סדרת פיבונצ'י, משוואה אופיינית, מגדל האנוי. החומר הוגש במסגרת: "קשר-חם" - הכנס הארצי של מרכזי המקצוע מתמטיקה, שנה"ל תשנ"ה, אפריל 99. החומר מכיל בנוסף לעמוד הפתיחה: 7 עמודים.
-- פתרון בעיות באמצעות שיטת הנסיגה הגדרה: קבוצת איברים מוגדרת באופן רקורסיבי אם: א. איברים אחדים של הקבוצה מוגדרים בצורה מפורשת (הם משמשים כבסיס הרקורסיה או כערכים התחלתיים). ב. האיברים הנותרים של הקבוצה מוגדרים באמצעות האיברים שכבר הוגדרו (כלומר, האיברים שבבסיס הרקורסיה והאיברים שכבר הוגדרו באמצעותם). השימוש בהגדרת רקורסיביות הוא אמצעי רב עצמה לפתרון בעיות קומבינטריות. בעיה לדוגמה: יש למצוא את מספר המילים מעל האלף-בית {0,} שאין בהן שני אפסים סמוכים. נקרא למילים אלו מילים מוּתרות. נסמן ב- f() את מספר המילים המותרות באורך. כך למשל עבור = יש שתי מילים כאלו 0 ו-, לכן = ()f. עבור = יש שלוש מילים מותרות:,,0 0 כלומר: = 3.f() עבור = 3 המילים המותרות הן: 00, 0, 0, 0, ולכן =.f(3) אם מילה מותרת באורך מתחילה ב- אזי הספרות הבאות של מילה זו מהוות מילה מותרת באורך. לפיכך יש f( ) מילים מותרות באורך המתחילות ב-. אם מילה מותרת באורך מתחילה ב- 0, הספרה השניה שלה חייבת להיות, וההמשך הוא מילה מותרת באורך. לכן מספר המילים המותרות באורך המתחילות ב- 0 הוא:.f( ) כיוון שכל מילה חייבת להתחיל ב- 0 או ב- מתקיים: f( ).f() = f( ) + זהו יחס רקורסיה המאפשר לחשב את f() עבור כל, אם ניתן בסיס הרקורסיה. למשל: = 8 +3 = f().f(4) = f(3) + ספרנו ומצאנו כי = 3 ()f ()f. =, זהו בסיס הרקורסיה במקרה שלפנינו וערכי f() יהיו:...,34,.,3,,8,3, סדרה זו המצטיינת בכך שכל מספר הוא סכום שני המספרים הקודמים לו נקראת סדרת פיבונאצ'י, על שמו של מתמטיקאי איטלקי. הערה: את סדרת פיבונאצ'י מתחילים בדרך כלל ב- = ()f (0)f =, ומקבלים את הסדרה...8,.,,,3, סדרת פיבונאצ'י היא סדרה לינארית. יחס רקורסיה מהצורה f( k),f() = c f( ) + c f( ) +... + c k כאשר (i =..., k) c i הם מספרים ממשיים, נקרא יחס רקורסיה לינארי הומוגני מסדר k. לינארי - כיוון שכל הביטויים f( c) c),=,... (k הם ממעלה ראשונה, הסדר של נוסחת הנסיגה הוא מספר האיברים הנדרש כדי לקבוע את האיבר הבא בסדרה. למשל: סדרת פיבונאצ'י היא סדרה לינארית מסדר שני, כי מספר האיברים הנדרש כדי לקבוע את האיבר הבא בסדרה הוא. מטרתנו היא למצוא שיטה שתאפשר לנו להפוך את הנוסחה הרקורסיבית עבור f() לנוסחה מפורשת. את יחס הרקורסיה הנ"ל ניתן לרשום גם בצורה: f() c f(-) c f(-) - - c k f ( k) = 0 א. נוסחת נסיגה מסדר - II שיטת השורשים האופיינים ניקח תחילה את המקרה של סדרה רקורסיבית הומוגנית מסדר שני מהסוג סדרת פיבונאצ'י, לגבי האיבר העומד במקום ה- + בסדרה זו: f(+) + Af(+) + Bf() = 0 () כאשר נתון בסיס הרקורסיה: A ()f, = a ()f = b ו- B פרמטרים (אינם תלויים ב- ). משפט אם α ו- β הם שורשים ממשיים שונים מ- 0 של המשוואה הריבועית =B 0 + Ax+ האופיינית מסדר ) אז אפשר לרשום את האיבר הכללי של הסדרה () בצורה: x (משוואה
-- f α β ( ) = Kα + Hβ f α = β ( ) = ( K+ H ) α כאשר K ו- H פרמטרים שאינם תלויים ב-. g() = f(+) αf() g(+) β g() = [f(+) α f(+)] β[f(+) α f()] = g(+) β g() = f(+) (α+β) f(+) +αβf() הוכחה: נסמן: () אז: ולכן (3) לפי נוסחאות וייטה המבטאות את הקשרים בין השורשים של המשוואה הריבועית: α+ β = A αβ = B g(+) β g() = f(+) +Af(+) + Bf() נקבל: g(+) = β g() β 0 על פי () נקבל את נוסחת הנסיגה עבור :g() נגדיר: ונקבל: h כאשר = β g () β 3 + g( + ) = β g( ) = β g( ) = g( ) = K = β g() = β h g() = β h f() α f() b α h = g() = = a β β β g() = f(+) αf() = β h f(+) βf() = α k (α β)f() = kα hβ k h f ( ) = α β α α β β h = b aα כלומר, (4) מ- () נובע : כאשר = 0 β נגדיר לפי () ו- (4) נקבל: () בדרך דומה נוכל לרשום ש- (6) כאשר,h k אינם תלויים ב-. אם נחסר את () מ- (6) נקבל: אם β α אז: k h K =, H = α β α β נסמן: f K Hβ = α + ) ( ונקבל : f ( ) α f( ) = β h = h - f( ) α f( ) = hα f( ) α f( 3) = h α -3 M f() α f() = h α בהתאמה נקבל: α, α, α,..., α - עα אם β= "י הצבה ב- (): ואם נכפול את השוויונים ב-
-3- f ( ) α f( ) = α α f( ) α f( ) = h α 3 α f( ) α f( 3) = h α M α () α () = α f f h h f() α - f() = ( )h α - f() = α - f() + ( )h α - [ ] f ( ) α f( ) h h = + = α a h h ( ) + ( K H) α = + α לאחר חיבור נקבל: ()f ידועים. מקבלים מהעובדה ש- ()f ו- את K ו- H נסכם את התהליך שהוכח כרגע בצורה סכמתית: f(+) + Af(+) + Bf() = 0 נתון: f() = a, f() = b תנאי התחלתי: יש למצוא מספרים,β α שיהיו שורשי המשוואה הריבועית: x + Ax + B = 0 α+β = A αβ = B f() = K α + H β ואז המשוואה המפורשת עבור f() תהיה: כאשר נציב את הערכים ()f = a ו- ()f = b לתוך נוסחה זו ונפתור את מערכת המשוואות נקבל את הפרמטרים K ו- H. דוגמה נפעיל תהליך זה על סדרת פיבונאצ'י שנוסחת הנסיגה שלה נתונה על ידי: f() f( ) f( ) = 0 או: f() = f( ) + f( ) כאשר = f() f() = x x = 0 + α =, β = + f ( ) = K + H במקרה זה המשוואה האופיינית המצורפת תהיה: ששורשיה: ו- = f() ואז: נקבל: + I = K H + + 3+ 3 II = K H K H + = + אם נציב = f() = K( + ) + H( 4 = K( 3+ ) + H( 3 ) ) ומכאן: וגם
-4- K = f ( ) = + +, H = + + ונקבל: ולכן: דוגמה : f() = 3 f( ) f( ) נתונה נוסחת הנסיגה הבאה: f(0) = f() = 3 x 3x + = 0 "המשוואה האופיינית" השייכת לנוסחת נסיגה זו היא: β =, α = שפתרונותיה: f() = K + H הנוסחה המפורשת תהיה: נציב את תנאי ההתחלה ונקבל : 0 f ( 0) = = K + H = K+ H f () = 3= K + H = K+ H K =, H = - פתרון המערכת נותן: + f ( ) = = ולכן הנוסחה המפורשת תהיה: ניתן להכליל שיטת עבודה זו עבור נוסחאות נסיגה לינאריות עם מקדמים קבועים מסדר כלשהו (בתנאי שנוכל למצוא את הפתרונות של "המשוואה האופיינית"), כמודגם בדוגמה. 3 f(+3) + A f(+) + B f(+)+c f() = 0 דוגמה 3: זו דוגמה לנוסחת נסיגה מהסוג x 3 + Ax + Bx + C = 0 המשוואה האופיניית המצורפת תהיה: f() = K α + H β + G γ אם נוכל למצוא את פתרונותיה α, β, γ אז f() יהיה: f(3), f(), f() כאשר,H K ו- G מתקבלים מידיעת תנאי ההתחלה: ב. נוסחת נסיגה מסדר I טבעות בעלות קטרים שונים מושחלות על מוט אנכי בהתאם לגודלן, מלמטה כלפי מעלה, ויוצרות על ידי כך פירמידה. שני מוטות נוספים נמצאים בסביבה גם כן במצב אנכי. המטרה היא להעביר את הטבעות מהמוט המקורי למוט אחר (מבין הפנויים) במגבלות הבאות: בכל מהלך מותר להעביר טבעת אחת בלבד ולהשתמש רק בשלשת המוטות או בחלק מהם. בכל מהלך אסור שטבעת קטנה תמצא מתחת לטבעת גדולה ממנה. מהו מספר המהלכים המינימלי הדרוש לביצוע המשימה?
-- פתרון: אם = אזי מספר המהלכים הוא. אם = אז מהלך אחד הוא להעביר את הטבעת הקטנה על אחד המוטות הפנויים. מהלך שני הוא להעביר את הטבעת הגדולה יותר על המוט הפנוי השלישי. מהלך שלישי הוא להניח את הטבעת הקטנה על הגדולה. סך הכל שלושה מהלכים. נניח כי f( ) הוא מספר המהלכים הדרושים להעברת ( ) טבעות. ננסה למצוא את.f() כדי להגיע לטבעת ה- -ית (הגדולה), דרושים f( ) מהלכים. עתה ניתן לגשת לטבעת הגדולה. מהלך אחד מעתיק אותה על המוט השלישי (החופשי) ושוב, לפי הנחת האינדוקציה, דרושים f( ) מהלכים כדי להעביר את ( ) הטבעות אל המוט עליו נמצאת הטבעת הגדולה. הגענו לנוסחת נסיגה: f( )+.f() = האגדה מספרת שבמקדש בודיסטי נמצא המבנה המתואר לעיל ובו 64 טבעות. הנזירים במקדש, כל אחד לפי תורו, מעבירים את הטבעות שנמצאות על אחד המוטות אל מוט אחר. כאשר יסיימו להעביר את כל 64 הטבעות יגיע קץ העולם. אין מקום לבהלה! אם מניחים כי הנזירים עובדים ללא הפוגה ומצליחים לבצע מהלך אחד בשניה, הרי שכדי לבצע את כל המהלכים (-, 64 כפי שנראה בהמשך) דרושות כ- 8,400 מיליארדי שנים. מספר זה גדול יותר מאשר הזמן הדרוש לכיבוי השמש, כלומר הזמן שבו השמש תמשיך להיות בעלת אנרגיה. נוסחת הנסיגה שהתקבלה כאן היא נוסחת נסיגה מסדר ראשון. כדי להפוך נוסחה מסוג זה לנוסחה מפורשת נשתמש בשיטה הנקראת שיטת האינטרציה. שיטת האינטראציה משפט f() = A f( )+B הפתרון עבור נוסחת נסיגה מהטיפוס: B f ( ) f A ( ) 0 BA A ( A) הוא: f() = A f(0)+b הוכחה: f() = A f() +B = A (Af(0) + B) + B = A f(0) + AB + B f(3) = A f() + B = A (A f(0) + AB + B) + B = A 3 f(0) + A B + AB + B M f() = A f(0) + A - B+A - B+... +A B + AB + B ( ) = A ( ) + ( A 0 + A + K+ A + A+ ) B= f f A ( ) = A f( 0) + A B f B A B f( ) = A f(0) + A A B f ( ) = + f( ) A BA A 0 בעזרת נוסחת סכום סדרה הנדסית נקבל: ולכן כלומר (7) את נכונות הנוסחה שקבלנו ניתן להוכיח גם בעזרת אינדוקציה. נשתמש בשיטה זו לגבי הבעיה האחרונה, של העברת הטבעות, נוסחת הנסיגה היא: f() = f( )+ f(0)=, A=, B=
י -6- ( ) = + = f מהצבת ערכים אלו בנוסחה (7) מתקבל: דוגמה 4 זו היא דוגמה נוספת לשימוש בנוסחת נסיגה מסדר ראשון. נניח שמחלת השפעת מופצת בקמפוס שבו,000 סטודנטים.,000 סטודנטים נחשפו למחלה ביום הראשון, ומספר זה יגדל ביום השני ל-,00. נתון כי הגידול היומי של הנחשפים למחלה ביום, פרופורציוני למספר הסטודנטים שעדיין לא נחשפו למחלה בתחילתו של אותו יום. יש למצוא כמה סטודנטים יחשפו למחלה במשך שבוע ימים החל מהיום השני. פתרון: נסמן את מספר הסטודנטים שנחשפו למחלה בסופם של k ימים ב-.f(k) f(k) f(k ) = p(000 f(k )) f(k) = f(k ) + p(000 f(k )) כאשר p קבוע, המציין את יחס החשיפה ו- 000 f(k ) מייצג את מספר הסטודנטים שלא נחשפו למחלה בתחילת היום ה- k. f(0) = 000, f() = 00 00 = 000 + p(000-000) 00 p = = 4000 8 f(k) = f(k ) + (000 8 7 f(k )) = 6 + f(k ) 8 ולכן B fk ( ) = f A + ( ) 0 BA A 7 B= 6, A = 8 זו נוסחת נסיגה מסדר ראשון ולכן לפי משפט : כאשר f(k) 6 = 7 8 6 7 + 000 7 8 8 k 7 = 000 4000 8 k נקבל: ובסוף השבוע מספר הסטודנטים שלא נחשפו למחלה יהיה: 000 f(7) = 000 000 4000 7 7 7 8 ג. הפיכת נוסחה רקורסיבית לנוסחה מפורשת באמצעות הגדרת סדרה חדשה נסתכל בבעיה הבאה: בניסיון לפתור בעיה, אומרים כי אדם נמצא בשלב ה- אם הוא נמצא צעדים מהפתרון. בכל שלב יש לו חמש אפשרויות. שתים מהן מובילות אותו לשלב ה- ( ) ואילו שלוש מהן, (אף טובות יותר), מובילות אותו ישר לשלב ה- ( ). נסמן ב- f() את מספר המסלולים שבהם הוא יכול להגיע לפתרון החל מהשלב ה-. יש למצוא נוסחת נסיגה עבור f() ולהפוך אותה לנוסחה מפורשת.
-7- f() = f() = פתרון: עבור = : שלב פתרון : f() = 7 שלב שלב יש לזכור: שלב - 0 פתרון הבעיה עבור = : פתרון: שלב פתרון : מהגדרת הבעיה נובע שעבור.f() = f( ) + 3f( ) נחשב את f() בשיטת ההגדרה של סדרה חדשה. ניתן לכתוב את נוסחת הנסיגה גם בצורה: = 0 3f( ) f() f( ) f() + f( ) 3[f( ) + f( )] = 0 g() = f()+f( ) g() 3g( ) = 0 g() = 3g( ) g() = 3g( ) = 3 g( ) = 3 3 g( 3) =... =3 - g() או נסמן: נקבל: או: g() = f() + f() = 9 ולכן: g() = 3-9 = 3 f() + f( ) = 3 כלומר קיבלנו ש- f() = ואז : f() = 3 f(3) = 3 3 3 + f(4) = 3 4 3 3 + 3 f() = 3 3 - + 3 - +...+( ) 3 + ( ) + f() = 3 3 - + 3 - +...+ ( ) 3 + ( ) + 3 + (-) 3 0 (השורה האחרונה מתקבלת כאשר רושמים במקום = 3 3). בביליוגרפיה ארבל בנו (990). אסטרטגיות לפתרון בעיות מתמטית, ביה"ס למתמטיקה, אוניברסיטת תל- אביב בשיתוף האוניברסיטה הפתוחה. גינצבורג אברהם (989). מתמטיקה דיסקרטית - IV קומבינטוריקה, בית ההוצאה לאור של אוניברסיטה הפתוחה. Cozzers M.& R. Porter. Recurrece Relatios: Coutig Backwards, (H.I.M.A.P) - High School Math. Ad its Applicatios Project.